package com.kai.dao;

import com.kai.pojo.NameValue;
import com.kai.pojo.User;
import org.apache.ibatis.annotations.Param;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

public interface UserMapper {
    /**
     * 登录
     * @param user
     * @return
     */
    User selectUser(User user);
    int selectByName(@Param("name") String name);
    int selectByPassword(@Param("password") String password);

    /**
     * 添加用户，
     * @param user
     * @return
     */
    int addUser(User user);

    /**
     * 查询全部用户或模糊查寝
     * @return
     */
    List<User>  selectAllUser(@Param("name") String name,@Param("sex") String sex, @Param("pageNum") int pageNum,@Param("pageSize") int pageSize);

    /**
     * 修改用户状态
     * @param state
     * @return
     */
    int updateUserState(@Param("state") String state,@Param("id") String id);

    /**
     * 修改用户信息或添加
     * @param user
     * @return
     */
    int updateUserInfo(User user);

    /**
     * 删除用户
     * @param id
     * @return
     */
    int deleteUser(String id);

    /**
     * 计算全部用户的总数
     * @return
     */
    int selectAllUserCount(@Param("name") String name,@Param("sex") String sex);

    /**
     * 根据name查询
     * @return
     */
    int selectUserByName(@Param("name") String name);

    /**
     * 查询line数量
     * @return
     */
    List<NameValue> selectAddUserCount();

    /**
     * 查询每天增加的数量
     * @param createtime
     * @return
     */
    int addUsersPerDay(@Param("createtime") String createtime);

    /**
     * 注册用户
     * @param user
     * @return
     */
    int register(User user);

    /*修改密码*/
    int updatePassword(@Param("id") String id,@Param("password") String password);

    /*判断密码是否正确*/
    int oldPassword(@Param("id") String id,@Param("password") String password);

    /*判断用户是否存在*/
    int validateName(String name);

    List<User> selectAllUserExecl();
}
